﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ModeloMagiPack.Entidades;
using DALMagiPack.Funcionalidad;

namespace BLLMagiPack.Managers
{
    public class BLLCuentaBancaria: BLLMagiPack
    {
        public void CargarNueva(CuentaBancaria nuevaCuenta)
        {
            DALMagiPack<CuentaBancaria> dal = new DALMagiPack<CuentaBancaria>();
            dal.Insertar(nuevaCuenta);
        }

        public void Eliminar(int idCuentaBancaria)
        {
            CuentaBancaria cuenta = Traer(idCuentaBancaria);
            DALMagiPack<CuentaBancaria> dal = new DALMagiPack<CuentaBancaria>();
            dal.Eliminar(cuenta);
        }

        public void ModificarCuenta(CuentaBancaria cuenta)
        {
            DALMagiPack<CuentaBancaria> dal = new DALMagiPack<CuentaBancaria>();
            dal.Modificar(cuenta);
        }

        public CuentaBancaria Traer(int idCuentaBancaria)
        {
            CuentaBancaria datos = new CuentaBancaria() { IdCuentaBancaria = idCuentaBancaria };
            List<Filtro> opciones = new List<Filtro>() { new Filtro() { Columna = NombresColumnas.IdCuentaBancaria, Tipo = TipoFiltro.Equal } };
            DALMagiPack<CuentaBancaria> dal = new DALMagiPack<CuentaBancaria>();
            return dal.Traer(datos, opciones).FirstOrDefault();
        }

        public List<CuentaBancaria> TraerCuentas()
        {
            DALMagiPack<CuentaBancaria> dal = new DALMagiPack<CuentaBancaria>();

            return dal.Traer(new CuentaBancaria(), new List<Filtro>()).OrderBy(c => c.Nombre).ToList();
        }
    }
}
